﻿using System;
using Sinacor.Infra.UI.Common;

namespace Sinacor.UI.Bovespa.ManutencaoOrdens.Presenter
{
    /// <summary>
    /// ICasamentoAutomatico
    /// </summary>
    public interface ICasamentoAutomatico : IBaseView
    {
        #region ICasamentoAutomatico
        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.CasamentoAutomáticoAlerta2"
        /// </summary>
        void ApresentarCasamentoAut();

        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.CasamentoAutomáticoAlerta1"
        /// </summary>
        void ApresentarCasamentoAutPreBoleto();

        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.CasamentoAutomáticoAlerta3"
        /// </summary>
        void ApresentarRecasamentoAut();

        /// <summary>
        /// Atualiza os dados do calendário
        /// </summary>
        void AtualizarCalendario();

        /// <summary>
        /// Apresentar em um SinacorMessageBox a mensagem da resource key Bovespa.ManutencaoOrdens.Message.ExecucaoCasamentoAutomatico" , 
        /// utilizando o string.Format() com a mensagem da resourcekey  Bovespa.ManutencaoOrdens.Message.CasamentoAutomatico", com as 
        /// opções de "Sim" e "Não"
        /// </summary>
        bool ConfirmarCasamentoAut();

        /// <summary>
        /// Apresentar em um SinacorMessageBox a mensagem da resource key Bovespa.ManutencaoOrdens.Message.ExecucaoCasamentoAutomatico" ,
        /// utilizando o string.Format() com a mensagem da resourcekey  Bovespa.ManutencaoOrdens.Message.CasamentoAutomaticoPreBoleto",
        /// com as opções de "Sim" e "Não"
        /// </summary>
        bool ConfirmarCasamentoAutPreBoleto();

        /// <summary>
        /// Apresentar em um SinacorMessageBox a mensagem da resource key Bovespa.ManutencaoOrdens.Message.ExecucaoCasamentoAutomatico" ,
        /// utilizando o string.Format() com a mensagem da resourcekey  
        /// Bovespa.ManutencaoOrdens.Message.RecasamentoAutomatico", com as opções de "Sim" e "Não"
        /// </summary>
        bool ConfirmarRecasamentoAut();

        /// <summary>
        /// Desabilitar a opção de casamento automático
        /// </summary>
        void DesabilitarCasamentoAut();

        /// <summary>
        /// Desabilitar a opção de casamento automático de pré-boleto
        /// </summary>
        void DesabilitarCasamentoAutPreBoleto();

        /// <summary>
        /// Desabilitar o combobox de calendário, os três radiobutton e o botão executar
        /// </summary>
        void DesabilitarControles();

        /// <summary>
        /// Desabilitar a opção de recasamento automático
        /// </summary>
        void DesabilitarRecasamentoAut();

        /// <summary>
        /// Habilita o combobox de calendário, os três radiobutton e o botão executar
        /// </summary>
        void HabilitarControles();

        /// <summary>
        /// Apresentar a mensagem da resource key Bovespa.ManutencaoOrdens.Message.OperacaoSucesso"
        /// </summary>
        void InformarOperacaoSucesso();

        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.AlertaProcessoExecuntando" , 
        /// utilizando o string.Format() com a mensagem da resourcekey  
        /// Bovespa.ManutencaoOrdens.Message.CasamentoAutomatico"
        /// </summary>
        void InformarProcessamentoCasamentoAut();

        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.AlertaProcessoExecuntando" ,
        /// utilizando o string.Format() com a mensagem da resourcekey  Bovespa.ManutencaoOrdens.Message.CasamentoAutomaticoPreBoleto"
        /// </summary>
        void InformarProcessamentoCasamentoAutPreBoleto();

        /// <summary>
        /// Apresentar na caixa de texto a mensagem da resource key Bovespa.ManutencaoOrdens.Message.AlertaProcessoExecuntando" , 
        /// utilizando o string.Format() com a mensagem
        /// da resourcekey  Bovespa.ManutencaoOrdens.Message.RecasamentoAutomatico"
        /// </summary>
        void InformarProcessamentoRecasamentoAut();

        /// <summary>
        /// InformarErroProcessoCasamentoAutomatico
        /// </summary>
        void InformarErroProcessoCasamentoAutomatico();

        /// <summary>
        /// InformarErroProcessoCasamentoAutomaticoPreBoleto
        /// </summary>
        void InformarErroProcessoCasamentoAutomaticoPreBoleto();

        /// <summary>
        /// InformarErroProcessoRecasamentoAutomatico
        /// </summary>
        void InformarErroProcessoRecasamentoAutomatico();

        #endregion ICasamentoAutomatico
    }
}
